package com.tiancheng.trade.authserver.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.nio.charset.StandardCharsets;

@TableName("auth_user_third_info")
@Getter
@Setter
@Accessors(chain = true)
public class UserThirdInfo extends BaseModel {
    /**
     * 关联用户id
     */
    private Long userId;
    /**
     * 平台
     * @see com.tiancheng.trade.authserver.enums.ThirdPlatformEnums
     */
    private String platform;
    /**
     * 第三方平台开放id
     */
    private String openId;
    /**
     * 第三方平台clientId
     */
    private String clientId;
    /**
     * 第三方平台联合Id
     */
    private String unionId;
    /**
     * 性别
     */
    private Integer gender;
    /**
     * 语言
     */
    private String language;
    /**
     * 国家
     */
    private String country;
    /**
     * 省份
     */
    private String province;
    /**
     * 城市
     */
    private String city;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 昵称
     */
    private String nick;
    /**
     * 用户手机号
     */
    private String phone;

    public static int genderNameToGenderInt(String genderName) {
        if ("男".equals(genderName)) {
            return 0;
        } else if ("女".equals(genderName)) {
            return 1;
        } else {
            return 2;
        }
    }

    public String getNick() {
        return this.transcoding(this.nick);
    }

    /**
     * 转码
     */
    public String transcoding(String data) {
        if (data == null || data.isEmpty()) {
            return data;
        }
        //如果是iso_8859_1编码
        if (data.equals(new String(data.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.ISO_8859_1))) {
            data = new String(data.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
        }
        return data;
    }
}
